home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 38 / Amiga Format CD38 (1999-03-15)(Future Publishing)(GB)(Track 1 of 3)[!][issue 1999-04].iso / -seriously_amiga- / programming / other / ira_src / ira.h < prev    next >
C/C++ Source or Header  |  1999-02-03  |  4KB  |  135 lines

  1. /*
  2.     Author   : Tim Ruehsen, Crisi
  3.    Project  : IRA  -  680x0 Interactive ReAssembler
  4.     Part     : IRA.h
  5.    Purpose  : Contains definitions for all IRA sources.
  6.    Version  : $VER: IRA.h V1.05
  7.    Date     : 16.05.1994
  8.     Copyright: (C)1993-1995 Tim Ruehsen
  9. */
  10.  
  11. #ifndef IRA_H
  12. #define IRA_H
  13.  
  14.  
  15. #define VERSION     "1"
  16. #define REVISION    "05"
  17. #define BETA        1
  18. #if BETA == 0
  19.   #define IDSTRING1   ("\nIRA V%s.%s "__AMIGADATE__" (c)1993-95 Tim Ruehsen (SiliconSurfer/PHANTASM)\n\n")
  20.   #define IDSTRING2   ("; IRA V%s.%s "__AMIGADATE__" (c)1993-95 Tim Ruehsen (SiliconSurfer/PHANTASM)\n\n")
  21. #else
  22.   #define IDSTRING1   ("\nIRA V%s.%sbeta "__AMIGADATE__" (c)1993-95 Tim Ruehsen (SiliconSurfer/PHANTASM)\n\n")
  23.   #define IDSTRING2   ("; IRA V%s.%sbeta "__AMIGADATE__" (c)1993-95 Tim Ruehsen (SiliconSurfer/PHANTASM)\n\n")
  24. #endif
  25.  
  26.  
  27. #include <stdarg.h>
  28. #include <stdio.h>
  29. #include <stdlib.h>
  30. #include <functions.h>
  31. #include <ctype.h>
  32. #include <string.h>
  33. #include <intuition/intuitionbase.h>
  34. #include <exec/memory.h>
  35. #include <exec/nodes.h>
  36. #include <libraries/dosextens.h>
  37.  
  38.  
  39. /*  Anzahl Eintraege in x_adrs  309  */
  40. /* #define ADRCOUNT          (sizeof(x_adrs)/sizeof(struct x_adr)) */
  41.  
  42. #define ADR_OUTPUT        (1<<0)  /* Adressen im Codebereich ausgeben */
  43. #define KEEP_BINARY       (1<<1)  /* Binaeres Zwischenfile loeschen   */
  44. #define SHOW_RELOCINFO    (1<<2)  /* Relokations-Informationen zeigen */
  45. #define KEEP_ZEROHUNKS    (1<<3)  /* Null-Hunks mit ausgeben          */
  46. #define OLDSTYLE          (1<<4)  /* Use oldstyle EA-formats          */
  47. #define SPLITFILE         (1<<5)  /* Put sections into own files      */
  48. #define BASEREG1          (1<<6)  /* Address proposals for d16(Ax)    */
  49. #define BASEREG2          (1<<7)  /* Base-relative mode d16(Ax)       */
  50. #define PREPROC           (1<<8)  /* To find data in code sections    */
  51. #define CONFIG            (1<<9)  /* Configfile should be included    */
  52. #define FORCECODE         (1<<10) /* Mark areas ending with RTS as code */
  53. #define ROMTAGatZERO      (1<<11) /* Don't assume a code entry at adr=0 */
  54.  
  55. #define M68000            1
  56. #define M68010            2
  57. #define M68020            4
  58. #define M68030            8
  59. #define M68040            16
  60. #define M68060            32
  61. #define M68851           128
  62. #define M68881           256
  63. #define M680x0            (1+2+4+8+16+32)
  64. #define M010UP            (2+4+8+16+32)
  65. #define M020UP            (4+8+16+32)
  66. #define M030UP            (8+16+32)
  67. #define M040UP            (16+32)
  68.  
  69.  
  70. #define OPC_BITFIELD       0
  71. #define OPC_BITSHIFT1      1
  72. #define OPC_BITSHIFT2      2
  73. #define OPC_RTE            6
  74. #define OPC_RTR            7
  75. #define OPC_RTS            8
  76. #define OPC_RTD            9
  77. #define OPC_DIVL          24
  78. #define OPC_MULL          25
  79. #define OPC_JMP           27
  80. #define OPC_JSR           28
  81. #define OPC_PEA           29
  82. #define OPC_MOVEM1        35
  83. #define OPC_MOVEM3        37
  84. #define OPC_LEA           39
  85. #define OPC_TST           43
  86. #define OPC_PACK1         67
  87. #define OPC_PACK2         68
  88. #define OPC_UNPK1         69
  89. #define OPC_UNPK2         70
  90. #define OPC_MOVEB         77
  91. #define OPC_MOVEW         79
  92. #define OPC_MOVEAL        80
  93. #define OPC_MOVEL         81
  94. #define OPC_RTM           96
  95. #define OPC_CALLM         97
  96. #define OPC_C2            98
  97. #define OPC_CMPI          99
  98. #define OPC_MOVES        106
  99. #define OPC_DBCC         107
  100. #define OPC_BCC          114
  101. #define OPC_MOVE162      116
  102.  
  103.  
  104. #define NOADRMODE         99     /* Addressmode for DC.W */
  105.  
  106. struct x_adr {
  107.     char name[12];
  108.     ULONG adr;
  109.     };
  110.  
  111. #define STDNAMELENGTH   256
  112.  
  113.  
  114.  
  115. /******** prototypes *********/
  116.  
  117. extern char __asm
  118.    *itohex(register __d0 long,register __d1 long),
  119.    *itoa(register __d0 long);
  120.  
  121. extern void __asm
  122.     lmovmem(register __a0 ULONG *,register __a1 ULONG *,register __d0 ULONG),
  123.     mnecat(register __a0 char *),
  124.     adrcat(register __a0 char *),
  125.     dtacat(register __a0 char *);
  126.  
  127.  
  128.  
  129.  
  130.  
  131. #endif
  132.  
  133.  
  134.  
  135.